package models

// 设备配置
type Serial_Slave struct {
	ID                  int64                 `gorm:"not null;column:ID;PRIMARY_KEY"`
	Serial_ID           int64                 `gorm:"not null;column:Serial_ID"`     //串口配置的外键
	ModbusSlaveID       string                `gorm:"not null;column:ModbusSlaveID"` //地址位
	Name                string                `gorm:"not null;column:Name"`
	Describe            *string               `gorm:"column:Describe"`
	Serial_Slave_Detail []Serial_Slave_Detail `gorm:"foreignKey:Serial_Slave_ID;references:ID;constraint:OnDelete:CASCADE"`
	DeviceInfo_Detail   []DeviceInfo_Detail   `gorm:"foreignKey:Serial_Slave_ID;references:ID;constraint:OnDelete:CASCADE"`
	CJ188Type           *string               `gorm:"column:CJ188Type"`                     //cj188仪表类型 10:冷水水表 11:生活热水水表 12:直饮水水表 13:中水水表 20:热量表 (记热量) 21:热量表 (记冷量) 30:燃气表 40:电度表
	CJ188DataIdentifier *string               `gorm:"column:CJ188DataIdentifier"`           //cj188数据标识 1F90 或者 901F
	CJ188UnitType       *int                  `gorm:"column:CJ188UnitType"`                 //单位类型 1：在前面(第14字节) 2：在后面（第18字节） 字节从0开始算,默认在后面
	ModbusType          int                   `gorm:"not null;column:ModbusType;default:1"` //1:单点采集 2：整帧采集   暂时无用
	IsCollect           int                   `gorm:"not null;column:IsCollect;default:1"`  //是否采集 1:采集 2：不采集
	//Serial        Serial `gorm:"foreignKey:Serial_ID"` // 使用 CateId 作为外键 // 和文章分类建立关系
}

//配置数据库操作的表名称
func (Serial_Slave) TableName() string {
	return "Serial_Slave"
}

type EditSerialSlaveRequest struct {
	Serial_Slave Serial_Slave `json:"SerialSlave"`
}
